package MAP;

public class include {
    public static void main(String[] args) {
        //一、Map概述:
        //Map 接口是一种双列结构，每个元素都包含一个键对象Key 和 一个值对象Value
        //键和值直接存在对应关系，称为映射

        //二、Map特点:
        //1° Map集合中的元素由key-value键值对（Entry）构成，其中key和value可以由任意引用类型的键值对构成，会封装到HashMap$Node对象中。
        //2° 键值对中的key不可重复（底层同HashSet），但是value可以重复。所以，当key或者value为null时，key只能有一个是null，而value可以有多个是null。
        //3° 键值对中的key常用String类型来表示。
        //4° key和value之间存在一一映射关系，即总可以通过指定的key来找到其对应的value。
        //5° 一个key-value键值对存放在一个HashMap$Node类型的对象中。（HashMap中的Node内部类实现了Map接口中的Entry内部接口）

        //三、Map常用方法:
        //1. void put(Object key, Object value)         //将指定的值和键存入集合并进行映射关联
        //2. Object get(Object key)                     //返回指定的键映射的值，如果此映射不包含该键的映射关系，则返回null
        //3. void clear()                               //移除所有的键值对元素
        //4. V remove(Object key)                       //根据键删除对应的值，返回被删除的值
        //5. int size()                                 //返回集合中的键值对的个数
        //6. boolean containKey(Object key)             //如果此映射包含指定键的映射关系，则返回true
        //7. boolean containsValue(Object value)        //如果此映射将一个或多个键映射到指定值，则返回true
        //8. Set keySet()                               //返回此映射中包含的键的Set集合
        //9. Collection<V>values()                      //返回此映射中包含的值的Collection集合
        //10. Set<Map.Entry<K,V>>entrySet()             //返回此映射中包含的映射关系的Set集合
    }
}
